package cn.kgm.user.server.struct;

import cn.kgm.user.dto.dto.UserIpSaveDTO;
import cn.kgm.user.dto.dto.UserIpUpdateDTO;
import cn.kgm.user.dto.entity.UserIp;
import cn.kgm.user.dto.query.UserIpPageQuery;
import cn.kgm.user.dto.vo.UserIpVO;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * # 技术改变自己 #
 * 用户授信IP
 * @author kappi
 * @date   2024-04-08 13:28:48
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface UserIpMappers {
    UserIpMappers INSTANCE = Mappers.getMapper(UserIpMappers.class);

    /**
     * 将 UserIpSaveDTO 映射成 UserIp 对象
     *
     * @param source 源对象
     * @return UserIp
     */
    UserIp mapToEntity(UserIpSaveDTO source);

    /**
     * 将 UserIpUpdateDTO 映射成 UserIp 对象
     *
     * @param source 源对象
     * @return UserIp
     */
    UserIp mapToEntity(UserIpUpdateDTO source);

    /**
     * UserIpPageQuery 映射成 UserIp 对象
     *
     * @param source 源对象
     * @return UserIp
     */
    UserIp mapToEntity(UserIpPageQuery source);

    /**
     * UserIpPageQuery 映射成 UserIp 对象
     *
     * @param source 源对象
     * @return UserIpVO
     */
    UserIpVO mapToEntity(UserIp source);

}
